﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Com.Alipay
{
    public class AlipayLib
    {
        public static void SubmitPay(ParamInfo info)
        {
            SortedDictionary<string, string> sParaTemp = new SortedDictionary<string, string>();

            sParaTemp.Add("partner", Config.Partner);
            sParaTemp.Add("_input_charset", Config.Input_charset.ToLower());
            sParaTemp.Add("service", "trade_create_by_buyer");
            sParaTemp.Add("payment_type", "1");//支付类型
            sParaTemp.Add("notify_url", "http://www.xunyangji.com/alipay/notify");//服务器异步通知页面路径
            sParaTemp.Add("return_url", "http://www.xunyangji.com/alipay/return");//页面跳转同步通知页面路径
            sParaTemp.Add("seller_email", Config.Seller_email);//卖家支付宝帐户
            sParaTemp.Add("out_trade_no", info.Out_trade_no);//商户订单号
            sParaTemp.Add("subject", info.Subject);//订单名称
            sParaTemp.Add("price", info.Price.ToString("0.00"));//付款金额
            sParaTemp.Add("quantity", info.Quantity.ToString());//商品数量
            sParaTemp.Add("logistics_fee", info.Logistics_fee.ToString("0.00"));//物流费用
            sParaTemp.Add("logistics_type", info.Logistics_type);//物流类型 必填，三个值可选：EXPRESS（快递）、POST（平邮）、EMS（EMS）
            sParaTemp.Add("logistics_payment", info.Logistics_payment);//物流支付方式  必填，两个值可选：SELLER_PAY（卖家承担运费）、BUYER_PAY（买家承担运费）
            sParaTemp.Add("body", info.Body);//订单描述
            sParaTemp.Add("show_url", info.Show_url);//商品展示地址
            sParaTemp.Add("receive_name", info.Receive_name);//收货人姓名
            sParaTemp.Add("receive_address", info.Receive_address);//收货人地址
            sParaTemp.Add("receive_zip", info.Receive_zip);//收货人邮编
            sParaTemp.Add("receive_phone", info.Receive_phone);//收货人电话号码
            sParaTemp.Add("receive_mobile", info.Receive_mobile); //收货人手机号码

            //建立请求
            string sHtmlText = Submit.BuildRequest(sParaTemp, "get", "确认");
            System.Web.HttpContext.Current.Response.Write(sHtmlText);
        }
    }
}
